---
title: "Update OMI Firmware"
description: "To update the firmware of your OMI device, you can either:"
---

* Use the OMI App: **Settings > Device Settings > Update Firmware**
* Or follow the manual update process below

---

# Flashing Instructions for DevKit Versions (DK1 & DK2)

## Manual Update Process[​](#manual-update-process "Direct link to Manual Update Process")

### 1. Download Required Files[​](#1-download-required-files "Direct link to 1. Download Required Files")

1. **Bootloader** (required for first-time setup or if corrupted):

   * Download [bootloader0.9.0.uf2](https://github.com/BasedHardware/omi/releases/download/v2.0.1-Omi/bootloader0.9.0.uf2)
   * Compatible with Seeed XIAO nRF52840 Sense (SoftDevice S140 7.3.0)

2. **Firmware**:

   * Download the correct firmware `.uf2` file for your device:
     * **DevKit 1**: [Omi GitHub Releases for DK1](https://github.com/BasedHardware/omi/releases?q=release_firmware+DK1)
     * **DevKit 2**: [Omi GitHub Releases for DK2](https://github.com/BasedHardware/omi/releases?q=release_firmware+DK2)

### 2. Prepare Your Device[​](#2-prepare-your-device "Direct link to 2. Prepare Your Device")

Before starting:

* Ensure device battery is above 50%
* Use a direct USB connection (avoid USB hubs)
* Have a small pin ready for the reset button

### 3. Enter DFU Mode[​](#3-enter-dfu-mode "Direct link to 3. Enter DFU Mode")

1. Connect your device via USB

2. Locate the DFU/Reset button:

   * **DevKit 2**: Remove lid, find button labeled "RST" ![DFU Button Location, DevKit 2](/images/docs/get_started/assets/images/dk2_rst_button-568e837198e6acedc078bd922c2a46e0.jpeg)
   * **DevKit 1**: Use button shown below ![DFU Button Location, DevKit 1](/images/docs/get_started/assets/images/dfu_dev_kit_reset_button-6564f71a7c6f4aab49c9ff131d3435ce.png)

3. Double-click the reset button quickly

4. Your computer should show a drive named `/Volumes/XIAO-SENSE`

### 4. Flash the Device[​](#4-flash-the-device "Direct link to 4. Flash the Device")

1. **Install Bootloader** (if needed):

   * Drag `bootloader0.9.0.uf2` to the `/Volumes/XIAO-SENSE` drive
   * Wait for the drive to eject automatically
   * Put device back in DFU mode (repeat step 3)

2. **Install Firmware**:

   * Drag the firmware `.uf2` file to the `/Volumes/XIAO-SENSE` drive
   * Wait for completion (ignore "transfer incomplete" messages)
   * Device will restart automatically

### Troubleshooting[​](#troubleshooting "Direct link to Troubleshooting")

* If device isn't recognized: Try a different USB cable or port
* If update fails: Retry the process
* If you see "transfer incomplete": Wait 30 seconds before checking device status
* For additional help: See [DevKit2 Firmware Guide](https://help.omi.me/en/articles/9995941-updating-your-devkit2-firmware)

***

# Flashing Instructions for Consumer Version 1 (CV1)

## Flashing Omi Firmware v3.0.8

This guide provides step-by-step instructions for flashing the Omi firmware using J-Link on both macOS and Windows systems.

### Prerequisites

- Omi CV1 device connected via USB  
- J-Link software installed (see installation instructions below)  
- Appropriate USB drivers for your device  
- Latest firmware files downloaded from GitHub releases  

### Special Hardware Requirement

To flash the Omi CV1, you must use a **special flashing cable** that connects the device to the J-Link programmer.  
This cable provides the required SWD/JTAG interface and must be acquired before attempting to flash.  
Without this cable, the CV1 cannot be programmed. Ensure that:

- The cable is properly connected to both the Omi CV1 and the J-Link programmer (pinout must match SWDIO, SWCLK, GND, VCC).  
- The cable is secure and undamaged before starting the flashing process.  

⚠️ If you do not have this cable, you will need to source one before proceeding with the CV1 flashing steps.

### Important: Update Firmware Files Before Flashing

⚠️ **Critical Step**: Before flashing, you must replace the existing firmware files with the latest versions from GitHub releases.

#### Step 1: Download Latest Firmware

1. Go to the [Omi GitHub Releases page for Omi Consumer (CV1)](https://github.com/BasedHardware/omi/releases?q=release_firmware+OMI+CV1)  
2. Find the latest release version  
3. Download the following files:  
   - `merged.hex` — Application core firmware  
   - `merged_CPUNET.hex` — Network core firmware  

#### Step 2: Replace Existing Firmware Files

**For macOS:**
1. Navigate to the `MAC/` folder in your FLASH_3.0.8 directory  
2. (Optional) Backup existing files:
   ```bash
   mv merged.hex merged.hex.backup
   mv merged_CPUNET.hex merged_CPUNET.hex.backup
   ```
3. Copy the downloaded `merged.hex` and `merged_CPUNET.hex` into the `MAC/` folder  

**For Windows:**
1. Navigate to the `WINDOWS\` folder in your FLASH_3.0.8 directory  
2. (Optional) Backup existing files:
   - Rename `merged.hex` → `merged.hex.backup`  
   - Rename `merged_CPUNET.hex` → `merged_CPUNET.hex.backup`  
3. Copy the downloaded `merged.hex` and `merged_CPUNET.hex` into the `WINDOWS\` folder  

#### Step 3: Verify File Replacement

- Ensure both `merged.hex` and `merged_CPUNET.hex` are updated  
- File sizes should match the downloaded versions  
- Modification dates should reflect the replacement  

### macOS Instructions

1. Install J-Link Software from [SEGGER](https://www.segger.com/downloads/jlink/)  
2. Navigate to the `MAC` folder:
   ```bash
   cd MAC
   ```
3. Flash the firmware:
   ```bash
   # Flash network core first
   JLinkExe -CommanderScript program_net.jlink
   
   # Then flash application core
   JLinkExe -CommanderScript program_app.jlink
   ```

### Windows Instructions

1. Install J-Link Software from [SEGGER](https://www.segger.com/downloads/jlink/)  
   - Add J-Link installation path to your Windows PATH (default: `C:\Program Files\SEGGER\JLink\`)  
2. Navigate to the `WINDOWS` folder:
   ```cmd
   cd WINDOWS
   ```
3. Flash the firmware:
   ```cmd
   # Flash network core first
   JLink.exe -CommanderScript program_net.jlink
   
   # Then flash application core
   JLink.exe -CommanderScript program_app.jlink
   ```

### Verification

- If LEDs start blinking → flashing was successful 🎉  
- Device should now run the latest firmware  
- Confirm firmware version in the Omi app or device interface  

### Troubleshooting

1. **JLinkExe not found** → Recheck installation and PATH  
2. **Connection issues** → Try another USB port/cable, ensure programming mode  
3. **Flashing fails** → Flash network core first, wait for commands to complete  
4. **Firmware file errors** → Ensure files are latest, re-download if corrupted  

---

## Congratulations\![​](#congratulations "Direct link to Congratulations!")

Your OMI device is now updated with the latest firmware. Enjoy the enhanced features!
